package com.chen.qmzy.tool;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Map;

/**
 * 操作邮箱短信模板
 */
@Component
public class FormwordTool {
    private static final Logger logger= LoggerFactory.getLogger(FormwordTool.class);//日志getLogger需要传入的类名

    /**
     * 传入参数 修改右键模板
     * @param filedList 传入的参数
      * @param formwordName 模板名称
     * @return String 修改完成后模板的内容
     */
    public String setFiledList(Map<String,String> filedList,String formwordName)
    {
        String res="";//最后返回的结果
        //判定发送类型
        String type="mail";//发送类型
        if (formwordName.indexOf("message")>0){//如果包含message就说明是短信模板
            type="message";
        }
        //获取模板的路径
        String formwordPath=null;//模板路径
        try {
            File file = new File("../MobileTwo/src/main/resources/formword/"+type+"formword/"+formwordName+".html");//获取文件
            formwordPath = file.getCanonicalPath();//获取最后的文件路径
        }catch (Exception e){
            logger.error(e.getMessage());
        }
        //读取模板内容
        Path path = Paths.get(formwordPath);
        byte[] data = null;//文件内容以比特流的形式读入
        try {
            data = Files.readAllBytes(path);//读入文件，以比特流的形式
            res = new String(data,"UTF-8");//将比特流转为字符串
            System.out.println("模板读入内容"+res);
        }catch (Exception e){
            logger.error(e.getMessage());
        }
        //替换内容
        for (Map.Entry<String,String> entry:filedList.entrySet()){
                res=res.replace(entry.getKey(),entry.getValue());
        }
        return res;
    }
}
